/*
1. (程序题, 30分)
前缀和序列
Description
给定一个长度为 n的正整数序列 a1,a2,…,an。
如果将该序列从小到大排序，则可以得到另一个长度为 n的正整数序列 b1,b2,…,bn。
现在，请你回答 m个询问，询问共分为以下两种：
1 l r，请你计算并输出 ∑ai。范围[l,r]
2 l r，请你计算并输出 ∑bi。范围[l,r]

Input
第一行包含整数 n。
第二行包含 n个正整数 a1,a2,…,an。
第三行包含整数 m。
接下来 m 行，每行包含一个询问，格式如题面描述。

Output
共 m行，每个询问输出一行答案。
所有测试点满足 1≤n,m≤10^5，1≤ai≤10^9，1≤l≤r≤n。

Sample Input
6
6 4 2 7 2 7
3
2 3 6
1 3 4
1 1 6

Sample Output
24
9
28
*/
#include <bits/stdc++.h>
using namespace std;

int main()
{
    int n, m, i, j, k, l, r, sum;
    cin >> n;
    int a[n + 2], b[n + 2];
    for (i = 1; i <= n;i++)
    {
        cin >> a[i];
        b[i] = a[i];
    }
    sort(b + 1, b + n + 1);
    cin >> m;
    for (i = 1; i <= m;i++)
    {
        cin >> k >> l >> r;
        sum = 0;
        if(k==1)
        {
            for (j = l; j <= r;j++)
            {
                sum += a[j];
            }
        }
        else if(k==2)
        {
            for (j = l; j <= r;j++)
            {
                sum += b[j];
            }
        }
        cout << sum << endl;
    }
    return 0;
}
